package com.base.cn.platform.os.service.manage.statistics.flow;

import com.base.cn.platform.os.service.FeignAuthConfig;
import com.base.cn.platform.os.service.manage.BaseService;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.Map;

/**
 * 流量统计接口
 *
 * @author s.li
 * @date 2019/04/28
 */
@FeignClient(name = BaseService.appName,configuration = FeignAuthConfig.class)
public interface FlowStatisticsService extends BaseService {

    /**
     * 流量看板，平台PV、UV，商品PV、UV统计数据获取<br/>
     * 平台UV，商品UV只能以最小单位为天的方式显示，PV可以按小时显示<br/>
     * 当查询条件为当天或指定某一天时，UV数据只有总量，PV可以有每个小时的明细
     * @return Map<String,Object>
     */
    @RequestMapping(contextPath + "/statistics/flowBulletinBoard")
    Map<String,Object> flowBulletinBoard(@RequestBody Map<String, Object> dateQueryCondition);

    /**
     * 录播流量统计（96K）
     * @return Map<String,Object>
     */
    @RequestMapping(contextPath + "/statistics/queryVideoFlowCountData")
    Map<String,Object> queryVideoFlowCountData(@RequestBody Map<String, Object> dateQueryCondition);

    /**
     * 查询渠道分布PV分布
     * @param dateQueryCondition
     * @return ZStatisticsPageViewCount
     */
    @RequestMapping(contextPath + "/statistics/queryPageViewCountSpread")
    Map<String,Object> queryPageViewCountSpread(@RequestBody Map<String, Object> dateQueryCondition);
}
